package com.qijian.business.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.qijian.common.annotation.Excel;
import com.qijian.common.core.domain.BaseEntity;

/**
 * 仓库详情对象 fm_inventory_detail
 *
 * @author qijian
 * @date 2021-09-28
 */
@EqualsAndHashCode(callSuper = true)
@Data
@ToString
@TableName("fm_inventory_detail")
public class InventoryDetail extends BaseEntity{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    @JsonSerialize(using= ToStringSerializer.class)
    @ApiModelProperty(value = "唯一id")
    private Long id;

    @JsonSerialize(using= ToStringSerializer.class)
    @ApiModelProperty(value = "销售订单id")
    private Long salesContractId;


    /** 仓库id */
    @Excel(name = "仓库id")
    @JsonSerialize(using= ToStringSerializer.class)
    @ApiModelProperty(value = "仓库id")
    private Long storeId;

    /** 库位id */
    @Excel(name = "库位id")
    @JsonSerialize(using= ToStringSerializer.class)
    @ApiModelProperty(value = "库位id")
    private Long locationId;

    /** 库存主表id */
    @Excel(name = "库存主表id")
    @JsonSerialize(using= ToStringSerializer.class)
    @ApiModelProperty(value = "库存主表id")
    private Long inventoryId;

    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(value = "产品id")
    private Long itemId;

    /** 产品名称 */
    @Excel(name = "产品名称")
    @ApiModelProperty(value = "产品名称")
    private String productName;

    /** 产品编号 */
    @Excel(name = "产品编号")
    @ApiModelProperty(value = "产品编号")
    private String productNumber;

    /** 规格型号 */
    @Excel(name = "规格型号")
    @ApiModelProperty(value = "规格型号")
    private String productSpecification;

    /** 单位 */
    @Excel(name = "单位")
    @ApiModelProperty(value = "单位")
    private String productUnit;

    /** 数量 */
    @Excel(name = "数量")
    @ApiModelProperty(value = "数量")
    private Long count;

    /** 单价 */
    @Excel(name = "单价")
    @ApiModelProperty(value = "单价")
    private BigDecimal unitPrice;

    /** 总金额 */
    @Excel(name = "总金额")
    @ApiModelProperty(value = "总金额")
    private BigDecimal totalAmount;

    /** 仓库名称 */
    @Excel(name = "仓库名称")
    @ApiModelProperty(value = "仓库名称")
    private String storeName;

    /** 库位名称 */
    @Excel(name = "库位名称")
    @ApiModelProperty(value = "库位名称")
    private String locationName;

    /** 批号 */
    @Excel(name = "批号")
    @ApiModelProperty(value = "批号")
    private String bitchNumber;

    /** 生产日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "生产日期", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "生产日期")
    private Date productionDate;

    /** 有效日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "有效日期", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "有效日期")
    private Date effectiveDate;

    /** 到货日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "到货日期", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "到货日期")
    private Date arrivalDate;

    /** 包装方式 */
    @Excel(name = "包装方式")
    @ApiModelProperty(value = "包装方式")
    private String packingWay;

    /** 备注 */
    @Excel(name = "备注")
    @ApiModelProperty(value = "备注")
    private String remark;
//
//    /** 是否可用  0 是  1 否 */
//    @Excel(name = "是否可用  0 是  1 否")
//    @ApiModelProperty(value = "是否可用  0 是  1 否")
//    private Long isDelete;

}
